package com.wyz.module.user.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wyz.module.user.model.dto.UserDTO;
import com.wyz.module.user.model.vo.UserVO;

import java.util.List;

/**
 * @author 无涯子
 * @version 1.0
 * @date 2024/4/14 17:56:47
 */
public interface UserService {

    /***
     * 根据ID查询用户信息
     * @param id ID
     * @return 用户信息
     */
    UserVO getUserById(Integer id);

    /***
     * 查询所有用户信息
     * @return 所有用户信息
     */
    List<UserVO> getUserAll();

    /***
     * 新增用户信息
     * @param userDTO 用户信息
     * @throws Exception 异常信息
     */
    void saveUser(UserDTO userDTO) throws Exception;

    /***
     * 更新用户信息
     * @param userDTO 用户信息
     * @throws Exception 异常信息
     */
    void updateUser(UserDTO userDTO) throws Exception;

    /***
     * 作废用户信息
     * @param id 用户ID
     * @throws Exception 异常信息
     */
    void removeUserById(Integer id) throws Exception;

    /***
     * 分页查询
     * @param current 当前页
     * @param size  页大小
     * @return 分页数据
     */
    Page<UserVO> getPage(Long current, Long size);
}
